File Server Selection for NetWare 3.xx Dispelling the Myths of Power by Mickey Applebaum NetWire SysOp/Uinta Business Systems This article is targeted to those of you looking to get your first NetWare 3.xx file server, or who have been thinking of upgrading your current file server. The concept is to provide information on how to get the best performance without buying more than you need to have. To do this we will need to first look at what NetWare does so we can define the possible bottlenecks and how to work around them. NetWare, in and of itself, is an I/O Engine. What, you may ask, does this really mean. NetWare does nothing more than route data from one place to another. It does not process data, manipulate data or in any other way handle the data other than to take it from one place and put it into another. This can be likened to a traffic cop who does nothing other than making sure cars on both of the streets he intersects with move in an orderly fashion and to their proper final destination without suffering a crash at his intersection. NetWare can route data from one LAN card to another, from a LAN card to Server Cache, from Server Cache to Disk, from Disk to Server Cache and from Server Cache to a LAN card. Basically, that's it. That's all NetWare does. Simple concept. Now, lets see what it is that makes that simple concept so hard to actually implement. First, we need to look at the most important aspect of file server performance. The speed of the BUS. Since NetWare is an I/O Engine, it's the I/O BUS (the expansion slots in the computer) that determines how fast NetWare can interact with all the "external" devices you can attach to your server. In this case, "external" means all devices not directly attached to the server's CPU, which, in most cases, means all interface devices other than RAM. In very basic terms, the actual maximum data throughput of the BUS can be determined using this mathematical function: Width of the bus in bits * clock speed of the bus / 8 = MegaBytes/Second This works out, for the "standard" machines, to this breakdown: Original IBM PC = 8 * 4.77 / 8 = 4.77 MB/s Original IBM AT = 16 * 6 / 8 = 12 MB/s IBM PS/2 MicroChannel = 32 * 5 / 8 = 20 MB/s EISA Specification = 32 * 8.33 / 8 = 33.32 MB/s As can be seen, the wider the bus and the faster the bus clock speed the more data can pass through the bus at one time. This relates directly to the speed at which NetWare can move the data between devices. The faster the Bus, the faster the data can move between the server and the LAN cards, and the disk drives, assuming that you use adapters that make use of the full bus width/speed. This leads to the next point in designing the perfect server, the speed of the adapter cards. One of the great misbeliefs lately is that Bus Mastering Adapters are faster than Non-Bus Masters. This may not necessarily be true in all installations. In a lightly loaded server, a Bus Master adapter can actually take more time setting up the data transfer than the data transfer itself takes to accomplish. Bus Mastering adapters are good in heavily loaded situations where the concern is to reduce the overall total CPU load on the file server, but it has been shown many times that under many conditions, Non-Bus Mastering devices run faster. Also, for the most part, the best option is to always use the maximum bus width devices your computer supports, i.e., in an EISA server use 32 bit adapters. Next, of course, is the amount of RAM the server has available for Cache Memory. NetWare, being an I/O Engine, moves data between devices. To do this, NetWare needs to have someplace to put that data while it's waiting for those devices to become available, or while one of those devices is fulfilling the data request NetWare has made of it. The more RAM the server has available to it, the more data it can buffer while waiting for LAN cards and Disk Controllers to clear. Also, because of NetWare's File Caching and Directory Hash/Caching, the more RAM available to the system, the more likely it is that a disk request will come from RAM and not from the physical disk itself, and as we all know, RAM is faster than any hard disk available. And, speaking of hard disks, we come upon that which is nearest and dearest to me personally. The Disk Channel. A disk channel designed for high performance means more to me than anything else in the server, since a poorly designed disk channel will make even the best server, and fastest LAN cards look slow. First we should look at the disk drives themselves. Although there have been many different disk technologies that have come and gone (MFM, RLL, ESDI) there are two that are in their prime today, IDE and SCSI. Below is a chart that shows the maximum data throughput of each of these devices: IDE = 4 MB/s SCSI = 5 MB/s SCSI-II = 7.5 MB/s SCSI-II FAST = 10 MB/s SCSI-II WIDE = 20 MB/s (Not readily available yet) SCSI-II DOUBLE WIDE = 40 MB/s (Theoretical, no devices exist today) Additionally, below is a chart of the data path width for each of these devices: IDE = 8 bit data path SCSI = 8 bit data path SCSI-II = 8 bit data path SCSI-II FAST = 8 bit data path SCSI-II WIDE = 16 bit data path SCSI-II DOUBLE WIDE = 32 bit data path Again, as you can see, the wider the data path the more actual data throughput per second and thus the faster the data transfer. But, just having a fast hard disk isn't all there is to it. Again, BUS Width comes into play, a 32 bit controller will be significantly faster than an equivalent 16 bit adapter, so it's a combination of a fast drive and a fast controller that will best serve data transfers in a NetWare file server. But yet, this is still not all there is. SCSI Host Adapters have the unique ability to send a command to a disk on the SCSI bus and then detach from that disk while waiting for the disk to finish the requested task. This is known as SCSI Disconnect, and can be a major benefit to disk channel performance. This is due to the fact that multiple disks on the same SCSI Bus can be performing tasks all at the same time, independent of the other disks on the bus. When using NetWare's Disk Spanning capabilities this can allow multiple disks to fulfill file requests at one time utilizing NetWare's Data Scattering capabilities. But, this is still not all there is. NetWare has the unique ability to do split seeks across multiple disk channels in a Duplexed controller/drive configuration. This means that a Duplexed set of disks can be seeking the same data across the disk channels at one time thus providing up to a 100% performance benefit during disk reads. So, to provide the highest performance disk subsystem for a NetWare server it would be best to build it using multiple SCSI-II Fast/Wide Host Adapters and drives in a duplexed set. This gives the highest available of drive heads to seek data at one time, thus providing the highest actual data throughput. This leads us to the last place to check into performance, the LAN adapters. There are several things to consider in this area, actual data throughput of the LAN Adapter and aggregate data throughput based on the total number of LAN adapters installed in the server. Following is a chart of the maximum theoretical data throughput's of the major LAN protocols (thanks to Jeff Chumbley of Thomas Conrad Corp. for this chart) Theoretical Maximum Throughput KBps 8000| 7809 7000| 6000| 5000| 4000| 3000| 2000| 1800 1000| 1200 500| 480 0|___214____________________________________________________ ARCNET 4Mbps-TRN Ethernet 16Mbps-TRN TCNS But again, just using a fast LAN card isn't all there is. Because of the differences in the way the protocols work (Ethernet being a collision detection system for example), the number of nodes attached to the LAN card in the server, the type of cabling used and the types of applications used/data generated on the network can affect overall performance. This is where NetWare's ability to perform internal routing and support of multiple LAN adapters in the file server comes into play. Having multiple LAN adapters in the server increases the overall LAN bandwidth available to the server. For example, having one Ethernet Adapter gives you the ability to have a 1200k bandwidth, installing a second Ethernet Adapter provides up to a 100% bandwidth increase providing up to 2400k bandwidth. Adding a third Ethernet adapter provides up to another 50% performance benefit pushing total bandwidth up to 3600k. The overall performance benefit per LAN card remains the same, assuming all the LAN cards are of equivalent performance, this linear performance benefit can be skewed by adding a LAN card of different performance characteristics, for example, putting a 16 Mb/s Token Ring adapter into the same server with 5 ArcNet adapters. As you may have seen by now, the file server CPU type hasn't been mentioned. Well, now it's time to mention it. Basically, the CPU in the file server will have little impact on the overall network performance, as long as a couple of things hold true: 1) The CPU isn't saturated by servicing all the installed interface adapters. 2) The CPU isn't saturated by trying to run NLM's. Basically, a 486SX chip will perform as well as a basic NetWare server as a DX/2-66 chip. Things to keep in mind, NetWare does not make use of a floating point processor and since the only difference between a 486SX and a 486DX chip is the floating point processor NetWare will run the same. Also, since a DX/2 chip only doubles the internal operations of the CPU and since NetWare isn't a CPU intensive system NetWare won't see much benefit. Basically, since NetWare spends most of it's time dealing with those external devices, such as LAN cards and Disk controllers doubling the internal CPU speed doesn't do anything to increase the speed at which those interface adapters move data. So, in summary, to design the best file server you can have you should choose a CPU size and speed based on the number and type of interface devices installed, as well as the NLM processes it will need to support; choose a bus width/speed to provide the best throughput for the number of requests made by your users; choose a disk drive/controller type that provides you with adequate throughput to service all your users data requests and the LAN protocol and number of LAN cards necessary to provide a consistent level of data throughput without saturating a single LAN segment.